if(!jsx3.lang.Class.forName("tibco.admin.enterpriseAssets.servers.nodeActions.NodeActions")) {
    /**
     **/
    jsx3.Class.defineClass(
            'tibco.admin.enterpriseAssets.servers.nodeActions.NodeActions',
            jsx3.gui.Block,
            null,
            function(nodeActions) {
                nodeActions.prototype.hostName = "";
                nodeActions.prototype.tibcoHome = "";
                nodeActions.prototype.forceDelete = false;
                nodeActions.prototype.mtxList = null;
                nodeActions.prototype.multiSelected = false;
                nodeActions.prototype.selection = new jsx3.util.List(0);
                nodeActions.instance = null;

                nodeActions.getInstance = function() {
                    if(!this.instance) {
                        this.instance = new tibco.admin.enterpriseAssets.servers.nodeActions.NodeActions();
                    }
                    return this.instance;
                }

                nodeActions.prototype.subscribeAll = function() {
                    var me = this;
                    tibco.admin.PubSub.subscribe(tibco.admin.enterpriseAssets.servers.EventID.ADD_STARTED, me, me.addStarted, null);
                    tibco.admin.PubSub.subscribe(tibco.admin.enterpriseAssets.servers.EventID.ADD_OVER, me, me.addEnded);
                    tibco.admin.PubSub.subscribe(tibco.admin.enterpriseAssets.servers.EventID.DISABLED_REFRESH, me, me.setRefreshDisabled);
                    tibco.admin.PubSub.subscribe(tibco.admin.enterpriseAssets.servers.EventID.ENABLE_REFRESH, me, me.setRefreshEnable);
                    this.callgetAllAdminNodes();
                }

                nodeActions.prototype.addNewNode = function() {
                    var cachedTree = this.mtxList.getXML();
                    var objParent = cachedTree.getRootNode()
                    var record = objParent.createNode(jsx3.xml.Entity.TYPEELEMENT, "record");
                    var strID = jsx3.xml.CDF.getKey();
                    record.setAttribute("jsxid", strID)
                    record.setAttribute("name", tibco.admin.Main.getServer().getDynamicProperty("@@lbl_NewNode_22D"));
                    record.setAttribute("hostName", tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Undefined_22D"));
                    record.setAttribute("tibcoHome", tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Undefined_22D"));
                    record.setAttribute("state", tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Undefined_22D"));
                    objParent.appendChild(record);
                    this.mtxList.repaintData();
                    this.mtxList.deselectAllRecords();
                    this.mtxList.selectRecord(strID);
                    //publish message
                    this.publishNodeAddAction(record);
                }

                nodeActions.prototype.addStarted = function(objEvent) {
                    this.ignoreSelects = true;
                    this.updateButtons();
                }

                nodeActions.prototype.addEnded = function(objEvent) {
                    this.ignoreSelects = false;
                    this.callgetAllAdminNodes();
                }

                nodeActions.prototype.updateButtons = function() {
                    var list = this.mtxList.getSelectedNodes();
                    var count = list.size();
                    var installing = 0
                    var installed = 0
                    var installFailed = 0
                    var starting = 0;
                    var running = 0;
                    var startFailed = 0;
                    var stopping = 0;
                    var installedStopped = 0
                    var stopFailed = 0;
                    var uninstalling = 0;
                    var defined = 0
                    var uninstallFailed = 0;
                    var deleteFailed = 0;
                    var unknown = 0;
                    var iter = list.iterator();
                    while(iter.hasNext()) {
                        var node = iter.next();
                        var state = node.getAttribute("state");
                        switch(state) {
                            case "Defined":
                                defined++;
                                break;
                            case "Installed":
                                installed++;
                                break;
                            case "Installed/Stopped":
                                installedStopped++;
                                break;
                            case "Install Failed":
                                installFailed++;
                                break;
                            case "Installing":
                                installing++;
                                break;
                            case "Uninstalling":
                                uninstalling++;
                                break;
                            case "Uninstall Failed":
                                uninstallFailed++;
                                break;
                            case "Start Failed":
                                startFailed++;
                                break;
                            case "Stop Failed":
                                stopFailed++;
                                break;
                            case "Starting":
                                starting++;
                                break;
                            case "Stopping":
                                stopping++;
                                break;
                            case "Running":
                                running++;
                                break;
                            case "Delete Failed":
                                deleteFailed++;
                                break;
                            case "Unknown":
                                unknown++;
                                break;
                            default:
                                unknown++;
                                break;
                        }
                    }
                    this.getDescendantOfName("btnNewAdmin_22D").setEnabled((!this.ignoreSelects) ? jsx3.gui.Form.STATEENABLED : jsx3.gui.Form.STATEDISABLED, true);
                    this.getDescendantOfName("btnStart_22D").setEnabled((!this.ignoreSelects && (count > 0) && ((installed + installedStopped + uninstallFailed + startFailed + unknown) == count)) ? jsx3.gui.Form.STATEENABLED : jsx3.gui.Form.STATEDISABLED, true);
                    this.getDescendantOfName("btnStop_22D").setEnabled((!this.ignoreSelects && (count > 0) && ((stopFailed + running + unknown) == count)) ? jsx3.gui.Form.STATEENABLED : jsx3.gui.Form.STATEDISABLED, true);
                    this.getDescendantOfName("btnDelete_22D").setEnabled((!this.ignoreSelects && (count > 0)) ? jsx3.gui.Form.STATEENABLED : jsx3.gui.Form.STATEDISABLED, true);
                }

                nodeActions.prototype.callgetAllAdminNodes = function() {
                    this.mtxList = this.getDescendantOfName("mtxNodeListing_22D");
                    var objService = tibco.admin.Main.loadService("tibco.admin",
                            "tibco/admin/enterpriseAssets/servers/nodeActions/rules/getAllAdminNodesRules.xml",
                            "getAllAdminNodes",
                            "get all admin nodes.");
                    //subscribe and call
                    var me = this;
                    objService.subscribe(jsx3.net.Service.ON_SUCCESS, me, me.ongetAllAdminNodesSuccess);
                    objService.setEndpointURL(tibco.admin.util.ServiceHelper.getAdminConfigurationEndpointURL());
                    objService.doCall();
                };


                nodeActions.prototype.ongetAllAdminNodesSuccess = function(objEvent) {
                    this.mtxList.repaintData();
                    var cacheDoc = this.mtxList.getXML();
                    if(cacheDoc) {
                        if(this.selection.size() != 0) {
                            var iter = this.selection.iterator();
                            var flag = false;
                            while(iter.hasNext()) {
                                var name = iter.next();
                                var record = this.mtxList.getXML().selectSingleNode("//record[@name='" + name + "']");
                                if(record) {
                                    record.setAttribute("jsxselected", 1);
                                    var state = record.getAttribute("state");
                                    flag = true;
                                }
                            }
                        }
                    }
                    this.publishNodeEditAction();
                };

                nodeActions.prototype.tryToDeleteNodes = function() {
                    var cacheRecords = this.getDescendantOfName('mtxNodeListing_22D').getXML().selectNodes("//record[@jsxselected='1']");
                    if(cacheRecords.getLength() == 0) {
                        tibco.admin.Main.alert(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_NoNodesSelected_22D"), tibco.admin.Main.getServer().getDynamicProperty("@@lbl_PleaseSelect_22D"));
                        return;
                    }
                    for(var i = 0; i < cacheRecords.getLength(); i++) {
                        if(cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Running_22D") ||
                           cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Starting_22D") ||
                           cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Stopping_22D")) {
                            tibco.admin.Main.alert(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_CannotDelete_22D"), tibco.admin.Main.getServer().getDynamicProperty("@@lbl_HaveToStop_22D"));
                            return;
                        }
                        if(cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Installing_22D") ||
                           cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Uninstalling_22D")) {
                            tibco.admin.Main.alert(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_CannotDelete_22D"), tibco.admin.Main.getServer().getDynamicProperty("@@lbl_PleaseWait_22D"));
                            return;
                        }
                    }

                    var forceDelete = tibco.admin.Main.getServer().getBodyBlock().load("tibco/admin/enterpriseAssets/servers/nodeActions/components/forceDelete.xml");
                    var cacheDoc = this.mtxList.getXML();
                    var txtSltNodes = "";
                    if(cacheDoc) {
                            var recordIter = cacheDoc.getXML().selectNodes("//record[@jsxselected='1']");
                            var record;
                            while(recordIter.hasNext()) {
                                record = recordIter.next();
                                txtSltNodes += ("," + record.getAttribute("name"));
                            }
                            if(txtSltNodes.substring(0,1)==",") txtSltNodes = txtSltNodes.substring(1,txtSltNodes.length);
                    }
                    forceDelete.getDescendantOfName("blkSelectedNodes_22D").setText(txtSltNodes, true);
                    forceDelete.setCallback(
                            function(dialog) {
                                tibco.admin.Main.getServer().getJSXByName('root22D').calldeleteAdminNodes(dialog.confirmed);
                                dialog.doClose();
                            },
                            function(dialog) {
                                dialog.doClose();
                            });

                }

                nodeActions.prototype.tryToStartNodes = function() {
                    var cacheRecords = this.mtxList.getXML().selectNodes("//record[@jsxselected='1']");
                    if(cacheRecords.getLength() == 0) {
                        tibco.admin.Main.alert(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_NoNodesSelected_22D"), tibco.admin.Main.getServer().getDynamicProperty("@@lbl_PleaseSelect_22D"));
                        return;
                    }
                    for(var i = 0; i < cacheRecords.getLength(); i++) {
                        if(cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Installing_22D") ||
                           cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Uninstalling_22D") ||
                           cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Stopping_22D")) {
                            tibco.admin.Main.alert(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_CannotStart_22D"), tibco.admin.Main.getServer().getDynamicProperty("@@lbl_InProgress_22D"));
                            return;
                        }
                        if(cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Running_22D") ||
                           cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Starting_22D")) {
                            tibco.admin.Main.confirm(tibco.admin.Main.getServer().getDynamicProperty('@@lbl_ConfirmWindow_22D'), tibco.admin.Main.getServer().getDynamicProperty('@@lbl_StartedAlready_22D'), function(confirmationDialog) {
                                tibco.admin.Main.getServer().getJSXByName('root22D').callstartAdminNodes();
                                confirmationDialog.doClose();
                            },
                                    function(confirmationDialog) {
                                        confirmationDialog.doClose();
                                    },
                                    tibco.admin.Main.getServer().getDynamicProperty('@@lbl_Yes_22D'), tibco.admin.Main.getServer().getDynamicProperty('@@lbl_No_22D'),
                                    1,
                                    null,
                                    null,
                                    '');
                            return;
                        }

                    }
                    this.callstartAdminNodes();
                }

                nodeActions.prototype.tryToStopNodes = function() {
                    var cacheRecords = this.mtxList.getXML().getRootNode().selectNodes("//record[@jsxselected='1']");
                    if(cacheRecords.getLength() == 0) {
                        tibco.admin.Main.alert(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_NoNodesSelected_22D"), tibco.admin.Main.getServer().getDynamicProperty("@@lbl_PleaseSelect_22D"));
                        return;
                    }
                    for(var i = 0; i < cacheRecords.getLength(); i++) {
                        if(cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Starting_22D") ||
                           cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Uninstalling_22D") ||
                           cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Stopping_22D")) {
                            tibco.admin.Main.alert(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_CannotStop_22D"), tibco.admin.Main.getServer().getDynamicProperty("@@lbl_PleaseWait_22D"));
                            return;
                        }
                        if(cacheRecords.getItem(i).getAttribute("state") == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_InstalledOrStopped_22D")) {
                            tibco.admin.Main.confirm(tibco.admin.Main.getServer().getDynamicProperty('@@lbl_ConfirmWindow_22D'), tibco.admin.Main.getServer().getDynamicProperty('@@lbl_StopedAlready_22D'), function(confirmationDialog) {
                                tibco.admin.Main.getServer().getJSXByName('root22D').callstopAdminNodes();
                                confirmationDialog.doClose();
                            },
                                    function(confirmationDialog) {
                                        confirmationDialog.doClose();

                                    },
                                    tibco.admin.Main.getServer().getDynamicProperty('@@lbl_Yes_22D'), tibco.admin.Main.getServer().getDynamicProperty('@@lbl_No_22D'),
                                    1,
                                    null,
                                    null,
                                    '');
                            return;
                        }

                    }
                    this.callstopAdminNodes();

                }

                nodeActions.prototype.calldeleteAdminNodes = function(toForce) {
                    var objService = tibco.admin.Main.loadService("tibco.admin",
                            "tibco/admin/enterpriseAssets/servers/nodeActions/rules/deleteAdminNodesRules.xml",
                            "deleteAdminNodes",
                            "delete all admin nodes.");
                    tibco.admin.util.Log.SERVICE.trace(tibco.admin.Main.getServer().getDynamicProperty("lbl_ForceDelete_22D") + " [" + toForce + "]");
                    //subscribe and call
                    objService.forceDelete = toForce;
                    var me = this;
                    objService.subscribe(jsx3.net.Service.ON_SUCCESS, me, me.ondeleteAdminNodesSuccess);
                    objService.setEndpointURL(tibco.admin.util.ServiceHelper.getAdminConfigurationEndpointURL())
                    objService.doCall();
                };

                nodeActions.prototype.ondeleteAdminNodesSuccess = function(objEvent) {
                    //tibco.admin.Main.alert(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_DeleteInProgress_22D"), tibco.admin.Main.getServer().getDynamicProperty("@@lbl_DeleteTakeTime_22D"));
                    var msg = new Object();
                    msg.subject = tibco.admin.enterpriseAssets.servers.EventID.NODE_REFRESHED;
                    tibco.admin.PubSub.publish(msg);
                    this.callgetAllAdminNodes();
                };

                nodeActions.prototype.callstartAdminNodes = function() {
                    var objService = tibco.admin.Main.loadService("tibco.admin",
                            "tibco/admin/enterpriseAssets/servers/nodeActions/rules/startAdminNodesRules.xml",
                            "startAdminNodes",
                            "start all admin nodes.");
                    //subscribe and call
                    objService.servers = this.getSelectedServers();
                    var me = this;
                    objService.subscribe(jsx3.net.Service.ON_SUCCESS, me, me.onstartAdminNodesSuccess);
                    objService.setEndpointURL(tibco.admin.util.ServiceHelper.getAdminConfigurationEndpointURL())
                    objService.doCall();
                };

                nodeActions.prototype.onstartAdminNodesSuccess = function(objEvent) {
                    var doc = tibco.admin.Main.getServer().getCache().getDocument("xmlStartAdminNodesResponse_22D");
                    var records = doc.selectNodes('//record[@success="false"]');
                    if (records.size() == 0) {
                        // yellow fade out message for installing
                        this.yftPrompt(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_StartInProgress_22D"));
                    }
                    this.callgetAllAdminNodes();
                };

                nodeActions.prototype.callstopAdminNodes = function() {
                    var objService = tibco.admin.Main.loadService("tibco.admin",
                            "tibco/admin/enterpriseAssets/servers/nodeActions/rules/stopAdminNodesRules.xml",
                            "stopAdminNodes",
                            "stop all admin nodes.");
                    //subscribe and call
                    objService.servers = this.getSelectedServers();
                    var me = this;
                    objService.subscribe(jsx3.net.Service.ON_SUCCESS, me, me.onstopAdminNodesSuccess);
                    objService.setEndpointURL(tibco.admin.util.ServiceHelper.getAdminConfigurationEndpointURL())
                    objService.doCall();
                };

                nodeActions.prototype.onstopAdminNodesSuccess = function(objEvent) {
                    var doc = tibco.admin.Main.getServer().getCache().getDocument("xmlStopAdminNodesResponse_22D");
                    var records = doc.selectNodes('//record[@success="false"]');
                    if (records.size() == 0) {
                        // yellow fade out message for installing
                        this.yftPrompt(tibco.admin.Main.getServer().getDynamicProperty("@@lbl_StopInProgress_22D"));
                    }
                    this.callgetAllAdminNodes();
                };

                /**
                 *  generates a Iterator of Selected Servers.(//070807)
                 */
                nodeActions.prototype.getSelectedServers = function() {
                    var cacheRecords = this.mtxList.getXML().selectNodes("//record[@jsxselected='1']");
                    return cacheRecords.iterator();
                }

                nodeActions.prototype.publishNodeEditAction = function() {
                    // set the parameters

                    if(this.ignoreSelects) {
                        var cacheDoc = this.mtxList.getXML();
                        if(cacheDoc) {
                            var recordIter = cacheDoc.getXML().selectNodes("//record[@jsxselected='1']");
                            while(recordIter.hasNext()) {
                                var record = recordIter.next();
                                record.setAttribute("jsxselected", 0);
                            }
                            var iter = this.selection.iterator();
                            while(iter.hasNext()) {
                                var name = iter.next();
                                var record = cacheDoc.getXML().selectSingleNode("//record[@name='" + name + "']");
                                if(record) {
                                    record.setAttribute("jsxselected", 1);
                                }
                            }
                        }
                        this.mtxList.repaint();
                        return;
                    }
                    else {
                        this.multiselected = false;
                        this.selection.clear();
                        var nodes = this.mtxList.getSelectedNodes();
                        var selectionSize = nodes.size();
                        for(var i = 0; i < selectionSize; i++) {
                            this.selection.add(nodes.getItem(i).getAttribute('name'));
                        }
                        if(selectionSize > 1) {
                            this.multiselected = true;
                        }
                    }
                    var sel = this.mtxList.getSelectedNodes();
                    if(sel.size() == 1) {
                        var selectednode = sel.getItem(0);
                        var state = selectednode.getAttribute("state");
                        if(state == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Uninstalling_22D")
                                || state == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_Installing_22D")
                                || state == tibco.admin.Main.getServer().getDynamicProperty("@@lbl_InstallFailed_22D")) {
                            var msg = new Object();
                            msg.subject = tibco.admin.enterpriseAssets.servers.EventID.NODE_REFRESHED;
                            tibco.admin.PubSub.publish(msg);
                            this.updateButtons();
                            return;
                        }
                        var msg = new Object();
                        msg.subject = tibco.admin.enterpriseAssets.servers.EventID.NODE_SELECTED;
                        msg.nodeName = selectednode.getAttribute("name");
                        msg.hostName = selectednode.getAttribute("hostName");
                        msg.tibcoHome = selectednode.getAttribute("tibcoHome");
                        msg.description = selectednode.getAttribute("description");
                        msg.namingPort = selectednode.getAttribute("namingPort");
                        msg.httpPort = selectednode.getAttribute("httpPort");
                        msg.httpsPort = selectednode.getAttribute("httpsPort");
                        tibco.admin.PubSub.publish(msg);
                    }
                    else {      //this case comes in when the user deselects all nodes or selects multiple nodes.
                        //the conditional is added in case the user deselects all nodes when add is in progress
                        var msg = new Object();
                        msg.subject = tibco.admin.enterpriseAssets.servers.EventID.NODE_REFRESHED;
                        tibco.admin.PubSub.publish(msg);
                    }
                    this.updateButtons();
                }

                nodeActions.prototype.publishNodeAddAction = function(selectednode) {
                    var msg = new Object();
                    msg.subject = tibco.admin.enterpriseAssets.servers.EventID.ADD_STARTED;
                    msg.nodeName = selectednode.getAttribute("name");
                    msg.hostName = selectednode.getAttribute("hostName");
                    msg.hostName = selectednode.getAttribute("tibcoHame");
                    msg.state = selectednode.getAttribute("state");
                    msg.isDisabled = true;
                    tibco.admin.PubSub.publish(msg);

                    msg = new Object();
                    msg.subject = tibco.admin.enterpriseAssets.servers.EventID.DISABLED_REFRESH;
                    tibco.admin.PubSub.publish(msg);
                };

                nodeActions.prototype.onRefresh = function() {
                    this.callgetAllAdminNodes();
                };

                nodeActions.prototype.beginEditMode = function() {
                    this.ignoreSelects = true;
                    this.updateButtons();
                }

                nodeActions.prototype.endEditMode = function() {
                    this.ignoreSelects = false;
                    this.callgetAllAdminNodes();
                }

                nodeActions.prototype.setRefreshDisabled = function(objEvent) {
                    this.getDescendantOfName("btnRefresh_22D").setEnabled(jsx3.gui.Form.STATEDISABLED, true);
                };

                nodeActions.prototype.setRefreshEnable = function(objEvent) {
                    this.getDescendantOfName("btnRefresh_22D").setEnabled(jsx3.gui.Form.STATEENABLED, true);
                }

                nodeActions.prototype.yftPrompt = function(strMessage) {
                    var lblFadeMessage = this.getDescendantOfName("lblFadeMessage_22D");
                    lblFadeMessage.setText(strMessage, true);
                    yft.startFadeOut(lblFadeMessage, 15, 1250);
                }

                nodeActions.prototype.yftStop = function() {
                    yft.stopFadeOut();
                }

            });
}

// Yellow Fade Out for GI component.
var yft = {
    _steps: 15,
    _interval: 200,
    _stopFade: false,
    _element: null,
    _shade: {0:"eca0", 1:"edaf", 2:"eea9", 3:"efae", 4:"f0b3", 5:"f1b8", 6:"f2bc", 7:"f3c1", 8:"f4c6", 9:"f5cb", 10:"f5cf", 11:"f6d4", 12:"f7d9", 13:"f9e2", 14:"fbec", 15:"fdf5"},
    _text: {0:"00", 1:"11", 2:"22", 3:"33", 4:"44", 5:"55", 6:"66", 7:"77", 8:"88", 9:"99", 10:"aa", 11:"bb", 12:"cc", 13:"dd", 14:"ee", 15:"ff"},
    fadeOut: function(elem,i) {
        if (!this._stopFade && i <= this._steps) {
            elem.setBackgroundColor("#ff" + this._shade[i], true);
            elem.setColor("#"+ this._text[i] + this._text[i] + this._text[i], true);

            if (i == this._steps) {
                elem.setDisplay(jsx3.gui.Block.DISPLAYNONE, true);
            }

            window.setTimeout(function(){yft.fadeOut(elem,++i)}, this._interval);
        }
    },
    startFadeOut: function(elem, steps, interval) {
        if (interval) {
            this._interval = Math.max(interval, 0);
        }
        if (steps) {
            this._steps = Math.max(Math.min(steps, this._steps), 0);
        }
        this._stopFade = false;
        this._element = elem;
        elem.setDisplay(jsx3.gui.Block.DISPLAYBLOCK, true);
        this.fadeOut(elem, 0);
    },
    stopFadeOut: function() {
        if (this._element)
        {
            this._stopFade = true;
            this._element.setDisplay(jsx3.gui.Block.DISPLAYNONE, true);
        }
    }
}
